package com.rc.saas.tenant.service.member;

import com.github.pagehelper.PageInfo;
import com.rc.saas.tenant.base.BaseService;
import com.rc.saas.tenant.mapper.member.RcMemberGainSettingMapper;
import com.rc.saas.tenant.model.member.RcMemberGainGradeSetting;
import com.rc.saas.tenant.model.member.RcMemberGainSetting;
import com.rc.saas.tenant.model.member.RcMemberGainSettingExample;

import java.util.List;

public interface RcMemberGainSettingService extends BaseService<Long, RcMemberGainSetting, RcMemberGainSettingExample, RcMemberGainSettingMapper> {
    PageInfo listPageMemberGain(String gainName, String sublevel, Integer pageNo, Integer pageSize);

    void addMemberGainSetting(RcMemberGainSetting memberGainSetting, List<RcMemberGainGradeSetting> grades);

    void updateMemberGainSetting(RcMemberGainSetting memberGainSetting,
                                 List<RcMemberGainGradeSetting> addGradeList,
                                 List<RcMemberGainGradeSetting> editGradeList,
                                 List<RcMemberGainGradeSetting> delGradeList);
    int saveGain(RcMemberGainSetting memberGainSetting);

    int editGain(RcMemberGainSetting memberGainSetting);

    List<RcMemberGainSetting> listAvailableMemberGain(String sublevel);

}
